This document provides an overview of natural language processing (NLP). It discusses how NLP is used by major tech companies for applications like information retrieval, extraction, and machine translation. It also outlines some of the core challenges in NLP, including understanding syntax, semantics, anaphora resolution, and information extraction. The document concludes by listing some of the key topics that will be covered over the course of the NLP class, such as part-of-speech tagging, parsing, IR, question answering, and text summarization.